Developer Documentation

QuickTime 4 API Documentation

Programming With QuickTime VR

| Previous | Chapter Contents | Chapter Top | Next |

Movie Controller Actions

Movie controller actions are defined by these constants:

enum {
    mcActionIdle                                    = 1,
    mcActionDraw                                    = 2,
    mcActionActivate                                = 3,
    mcActionDeactivate                              = 4,
    mcActionMouseDown                               = 5,
    mcActionKey                                     = 6,
    mcActionPlay                                    = 8,
    mcActionGoToTime                                = 12,
    mcActionSetVolume                               = 14,
    mcActionGetVolume                               = 15,
    mcActionStep                                    = 18,
    mcActionSetLooping                              = 21,
    mcActionGetLooping                              = 22,
    mcActionSetLoopIsPalindrome                     = 23,
    mcActionGetLoopIsPalindrome                     = 24,
    mcActionSetGrowBoxBounds                        = 25,
    mcActionControllerSizeChanged                   = 26,
    mcActionSetSelectionBegin                       = 29,
    mcActionSetSelectionDuration                    = 30,
    mcActionSetKeysEnabled                          = 32,
    mcActionGetKeysEnabled                          = 33,
    mcActionSetPlaySelection                        = 34,
    mcActionGetPlaySelection                        = 35,
    mcActionSetUseBadge                             = 36,
    mcActionGetUseBadge                             = 37,
    mcActionSetFlags                                = 38,
    mcActionGetFlags                                = 39,
    mcActionSetPlayEveryFrame                       = 40,
    mcActionGetPlayEveryFrame                       = 41,
    mcActionGetPlayRate                             = 42,
    mcActionShowBalloon                             = 43,
    mcActionBadgeClick                              = 44,
    mcActionMovieClick                              = 45,
    mcActionSuspend                                 = 46,
    mcActionResume                                  = 47,
    mcActionSetControllerKeysEnabled                = 48,
    mcActionGetTimeSliderRect                       = 49,
    mcActionMovieEdited                             = 50,
    mcActionGetDragEnabled                          = 51,
    mcActionSetDragEnabled                          = 52,
    mcActionGetSelectionBegin                       = 53,
    mcActionGetSelectionDuration                    = 54,
    mcActionPrerollAndPlay                          = 55,
    mcActionGetCursorSettingEnabled                 = 56,
    mcActionSetCursorSettingEnabled                 = 57,
    mcActionSetColorTable                           = 58,
    mcActionLinkToURL                               = 59,
    mcActionCustomButtonClick                       = 60,
    mcActionForceTimeTableUpdate                    = 61,
    mcActionSetControllerTimeLimits                 = 62,
    mcActionExecuteAllActionsForQTEvent             = 63,
    mcActionExecuteOneActionForQTEvent              = 64,
    mcActionAdjustCursor                            = 65,
    mcActionUseTrackForTimeTable                    = 66,
    mcActionClickAndHoldPoint                       = 67,
    mcActionShowMessageString                       = 68    
                                /* param is a StringPtr*/
};

The action descriptions that follow are divided into those that can be used by your application and those that can be received by your action filter function. Many actions fall into both categories.

Actions for use by applications

mcActionIdle
Your application can use this action to grant event-processing time to a movie controller. There is no parameter for this action.
mcActionDraw
Your application can use this action to send an update event to a movie controller.
The parameter for this action is a pointer to a window.
mcActionActivate
Your application can use this action to activate a movie controller. There is no parameter for this action.
mcActionDeactivate
Your application can use this action to deactivate a movie controller. There is no parameter for this action.
mcActionMouseDown
Your application can use this action to pass a mouse-down event to a movie controller.
The parameter data must contain a pointer to an event structure (of type EventRecord ); the message field in the event structure must specify the window in which the user clicked.
mcActionKey
Your application can use this action to pass a key-down or auto-key event to a movie controller.
The parameter data must contain a pointer to an event structure that describes the key event.
mcActionPlay
Your application can use this action to start or stop playing a frame animation. For objects with no frame animation or for panoramas, this action is ignored.
The parameter data must contain a floating-point value that indicates the frame rate. Values greater than 0.0 correspond to forward rates; values less than 0.0 play the animation backward. A value of 0.0 stops the animation.
mcActionGoToTime
Your application can use this action to move to a specific view time in an animated object movie. For objects with no frame animation or for panoramas, this action is ignored.
The parameter data must contain a pointer to a time structure that specifies the target position in the movie.
mcActionSetVolume
Your application can use this action to set a movie's volume.
The parameter data must contain a pointer to a 16-bit fixed-point number that indicates the relative volume of the movie. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
mcActionGetVolume
Your application can use this action to determine a movie's volume.
The parameter data must contain a pointer to a 16-bit fixed-point number that indicates the relative volume of the movie. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
mcActionStep
This action is not supported by the QuickTime VR movie controller.
mcActionSetLooping
Your application can use this action to enable or disable frame animation looping for a movie. For objects with no frame animation or for panoramas, this action is ignored.
The parameter data must contain a Boolean value; a value of true indicates that looping is to be enabled.
mcActionGetLooping
Your application can use this action to determine whether frame animation for an object movie is looping.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if frame animation looping is enabled for the object movie that is assigned to this controller. Otherwise, it sets the value to  false .
mcActionSetLoopIsPalindrome
Your application can use this action to enable palindrome frame animation looping. Looping must also be enabled for palindrome looping to take effect.
The parameter data must contain a Boolean value; a value of true indicates that palindrome looping is to be enabled.
mcActionGetLoopIsPalindrome
Your application can use this action to determine whether palindrome frame animation looping is enabled for a movie. Looping must also be enabled for palindrome looping to take effect.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if palindrome looping is enabled for the movie that is assigned to this controller. Otherwise, it sets the value to  false .
mcActionSetGrowBoxBounds
Your application can use this action to set the limits for resizing a movie.
The parameter data must contain a pointer to a rectangle; set the rectangle to the boundary coordinates for the movie. If you want to prevent the movie from being resized, supply an empty rectangle (note that enabling or disabling the size box may change the appearance of some movie controllers). By default, movie controllers do not have size boxes. You must use this action to establish a size box for a movie controller.
If the movie controller's boundary rectangle intersects the lower-right corner of your window, your window cannot have a size box.
mcActionSetSelectionBegin
This action is not supported by the QuickTime VR movie controller.
mcActionSetSelectionDuration
This action is not supported by the QuickTime VR movie controller.
mcActionSetKeysEnabled
Your application can use this action to enable or disable keystrokes for a movie.
The parameter data must contain a Boolean value; a value of true indicates that keystrokes are to be enabled. By default, this value is set to false .
mcActionGetKeysEnabled
Your application can use this action to determine whether keystrokes are enabled for a movie controller.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if keystrokes are enabled for the movie that is assigned to this controller. Otherwise, it sets the value to false .
mcActionSetPlaySelection
This action is not supported by the QuickTime VR movie controller.
mcActionGetPlaySelection
This action is not supported by the QuickTime VR movie controller.
mcActionSetUseBadge
This action is not supported by the QuickTime VR movie controller.
mcActionGetUseBadge
This action is not supported by the QuickTime VR movie controller.
mcActionSetFlags
Your application can use this action to set a movie's control flags.
The parameter data must contain a long integer that contains the new control flag values. See "Movie Control Flags" for a description of the available flags.
mcActionGetFlags
Your application can use this action to retrieve a movie's control flags.
The parameter data must contain a pointer to a long integer. The movie controller places the movie's control flags into that long integer. See "Movie Control Flags" for a description of the available flags.
mcActionSetPlayEveryFrame
This action is not supported by the QuickTime VR movie controller.
mcActionGetPlayEveryFrame
This action is not supported by the QuickTime VR movie controller.
mcActionGetPlayRate
Your application can use this action to determine an object movie's frame rate. You set the frame rate by using the mcActionPlay action.
The parameter data must contain a pointer to a floating-point value. The movie controller returns the movie's frame rate in that value. Values greater than 0.0 correspond to forward rates; values less than 0.0 play the movie backward. A value of 0.0 indicates that the frame animation is stopped.
mcActionBadgeClick
Your application can use this action to indicate that the badge was clicked. The parameter is a pointer to a Boolean value. On entry, the Boolean value is set to true . Set the Boolean value to false if you want the controller to ignore the click in the badge.
mcActionMovieClick
Your application can use this action to indicate that the movie was clicked. The parameter is a pointer to an event structure containing the mouse-down event. If you want the controller to ignore the mouse-down event, change the what field of the event structure to a null event.
mcActionSuspend
Your application can use this action to indicate that a suspend event has been received. There is no parameter for this action.
mcActionResume
Your application can use this action to indicate that a resume event has been received. There is no parameter for this action.
mcActionSetControllerKeysEnabled
Your application can use this action to control whether the controller bar keys are enabled or disabled.
The parameter data must contain a Boolean value; a value of true indicates that the controller bar keys are to be enabled. By default, this value is set to true .
mcActionGetTimeSliderRect
This action is not supported by the QuickTime VR movie controller.
mcActionMovieEdited
This action is not supported by the QuickTime VR movie controller.
mcActionGetDragEnabled
Your application can use this action to determine whether dragging and dropping is enabled.
The parameter data must contain a pointer to a Boolean value. The QuickTime VR movie controller always sets this value to false .
mcActionSetDragEnabled
This action is not supported by the QuickTime VR movie controller.
mcActionGetSelectionBegin
This action is not supported by the QuickTime VR movie controller.
mcActionGetSelectionDuration
This action is not supported by the QuickTime VR movie controller.
mcActionPrerollAndPlay
Your application can use this action to preroll a movie and then immediately play it using view animation.
The parameter data must contain a floating-point value that indicates the view rate. Values greater than 0.0 correspond to forward rates; values less than 0.0 play the movie backward. A value of 0.0 indicates that the view animation is stopped.
mcActionGetCursorSettingEnabled
Your application can use this action to get the current state of cursor tracking and shape changing.
The parameter data must contain a pointer to a Boolean value; the movie controller sets this value to true if the controller has been instructed to track the cursor and change its shape as appropriate. Otherwise, the controller sets the value to false .
mcActionSetCursorSettingEnabled
Your application can use this action to enable or disable the automatic cursor tracking and shape changing provided by the QuickTime VR movie controller.
The parameter data must contain a Boolean value; a value of true indicates that the cursor tracking and shape changing are to be enabled.
mcActionSetColorTable
This action is not supported by the QuickTime VR movie controller.
mcActionLinkToURL
The parameter is a handle to URL; it can be sent to the controller or intercepted when generated by a 'url ' hotspot.
mcActionAdjustCursor
The parameter is a pointer to EventRecord ( WindowPtr is in message parameter). The action is not supported in QuickTime VR 2.1, but will be supported in future versions.
mcActionClickAndHoldPoint
The parameter is a point (local coordinates). The action returns true if the point has click and hold action (for example, a QuickTime VR object movie autorotate spot).
mcActionShowMessageString
The parameter is a StringPtr . The action is not supported by the QuickTime VR movie controller at this time, but will likely be used in future versions to allow the application to set the string shown in the control bar.

Actions for use by action filter functions

mcActionIdle
Your action filter function receives this action when the application has granted null event-processing time to the movie controller. There is no parameter for this action.
mcActionDraw
Your filter function receives this action when the controller has received an update event.
The parameter for this action is a pointer to a window.
mcActionActivate
Your filter function receives this action when the controller has received an activate or resume event. There is no parameter for this action.
mcActionDeactivate
Your filter function receives this action when the controller has received a deactivate or suspend event. There is no parameter for this action.
mcActionMouseDown
Your action filter function receives this action when the movie controller has received a mouse-down event.
The parameter data must contain a pointer to an event structure; the message field in the event structure must specify the window in which the user clicked.
mcActionKey
Your action filter function receives this action when the movie controller has received a key-down or auto-key event.
The parameter data must contain a pointer to an event structure that describes the key event.
mcActionPlay
Your action filter function receives this action when the movie controller has received a request to start or stop playing a frame animation.
The parameter data must contain a floating-point value that indicates the frame rate. Values greater than 0.0 correspond to forward rates; values less than 0.0 play the animation backward. A value of 0.0 stops the animation.
mcActionGoToTime
Your action filter function receives this action when the movie controller has received a request to go to a specified view time in an animated object movie.
The parameter data must contain a pointer to a time structure that specifies the target position in the movie.
mcActionSetVolume
Your action filter function receives this action when the movie controller has received a request to set the movie's volume.
The parameter data must contain a pointer to a 16-bit fixed-point number that indicates the relative volume of the movie. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
mcActionGetVolume
Your action filter function receives this action when the movie controller has received a request to retrieve the movie's volume.
The parameter data must contain a pointer to a 16-bit fixed-point number that indicates the relative volume of the movie. Volume values range from -1.0 to 1.0. Negative values play no sound but preserve the absolute value of the volume setting.
mcActionStep
This action is not supported by the QuickTime VR movie controller.
mcActionSetLooping
Your action filter function receives this action when the movie controller has received a request to turn frame animation looping on or off.
The parameter data must contain a Boolean value; a value of true indicates that looping is to be enabled.
mcActionGetLooping
Your action filter function receives this action when the controller has received a request to indicate whether frame animation looping is enabled for its movie.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if frame animation looping is enabled for the object movie that is assigned to this controller. Otherwise, it sets the value to  false .
mcActionSetLoopIsPalindrome
Your action filter function receives this action when the movie controller has received a request to turn palindrome frame animation looping on or off. Looping must also be enabled for palindrome looping to take effect.
The parameter data must contain a Boolean value; a value of true indicates that palindrome looping is to be enabled.
mcActionGetLoopIsPalindrome
Your action filter function receives this action when the controller has received a request to indicate whether palindrome frame animation looping is enabled for its movie.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if palindrome looping is enabled for the movie that is assigned to this controller. Otherwise, it sets the value to  false .
mcActionSetGrowBoxBounds
Your action filter function receives this action when the movie controller has received a request to set the limits for resizing the movie.
The parameter data contains a pointer to a rectangle; the rectangle defines the boundary coordinates for the movie. If the rectangle is empty, the application wants to disable the size box. You may change the appearance of your controller in response to such a request.
mcActionControllerSizeChanged
Your filter function receives this action when the user has resized the movie controller; the controller component issues this action before it updates the screen, allowing your application to change the controller's location or appearance before the user sees the resized controller.
There is no parameter for this action.
An application should never use this action.
mcActionSetSelectionBegin
This action is not supported by the QuickTime VR movie controller.
mcActionSetSelectionDuration
This action is not supported by the QuickTime VR movie controller.
The parameter data must contain a pointer to a time structure specifying the ending time of the movie's current selection.
mcActionSetKeysEnabled
Your action filter function receives this action when the movie controller has received a request to enable or disable keystrokes.
The parameter data must contain a Boolean value; a value of true indicates that keystrokes are to be enabled. By default, this value is set to false .
mcActionGetKeysEnabled
Your filter function receives this action when the controller has received a request to indicate whether keystrokes are enabled for its movie.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if keystrokes are enabled for the movie that is assigned to this controller. Otherwise, it sets the value to false .
mcActionSetPlaySelection
This action is not supported by the QuickTime VR movie controller.
mcActionGetPlaySelection
This action is not supported by the QuickTime VR movie controller.
mcActionSetUseBadge
Your action filter function receives this action when the movie controller has received a request to turn the badge on or off.
The parameter data must contain a Boolean value; a value of true indicates that the badge is to be enabled.
mcActionGetUseBadge
Your action filter function receives this action when the controller has received a request to indicate whether it is using a badge.
The parameter data must contain a pointer to a Boolean value. The movie controller sets this value to true if the controller is using a badge. Otherwise, it sets the value to  false .
mcActionSetFlags
Your action filter function receives this action when the movie controller has received a request to set the movie's control flags.
The parameter data must contain a long integer that contains the new control flag values. See "Movie Control Flags" for a description of the available flags.
mcActionGetFlags
Your action filter function receives this action when the movie controller has received a request to retrieve the movie's control flags.
The parameter data must contain a pointer to a long integer. The movie controller places the movie's control flags into that long integer. See "Movie Control Flags" for a description of the available flags.
mcActionSetPlayEveryFrame
This action is not supported by the QuickTime VR movie controller.
mcActionGetPlayEveryFrame
This action is not supported by the QuickTime VR movie controller.
mcActionShowBalloon
Your action filter function receives this action when the controller wants to display Balloon Help. Your filter function instructs the controller whether to display the Balloon Help. This action allows you to override the movie controller's default Balloon Help behavior.
The parameter data contains a pointer to a Boolean value. Set the value to true to display the appropriate Balloon Help. Otherwise, set the value to false .
An application should never use this action.
mcActionBadgeClick
Your action filter function receives this action when the badge is clicked. The parameter is a pointer to a Boolean value. On entry, the Boolean value is set to true . Set the Boolean value to false if you want the controller to ignore the click in the badge.
mcActionMovieClick
Your action filter function receives this action when the movie is clicked. The parameter is a pointer to an event structure containing the mouse-down event. If you want the controller to ignore the mouse-down event, change the what field of the event structure to a null event.
mcActionSuspend
Your action filter function receives this action when a suspend event has been received. There is no parameter for this action.
mcActionResume
Your action filter function receives this action when a resume event has been received. There is no parameter for this action.
mcActionSetControllerKeysEnabled
Your action filter function receives this action when the movie controller has received a request to enable or disable the controller bar keys.
The parameter data must contain a Boolean value; a value of true indicates that the controller bar keys are to be enabled. By default, this value is set to true .
mcActionGetTimeSliderRect
This action is not supported by the QuickTime VR movie controller.
mcActionMovieEdited
This action is not supported by the QuickTime VR movie controller.
mcActionGetDragEnabled
Your action filter function receives this action when the controller has received a request to indicate whether dragging and dropping is enabled.
The parameter data must contain a pointer to a Boolean value. The QuickTime VR movie controller always sets this value to false .
mcActionSetDragEnabled
This action is not supported by the QuickTime VR movie controller.
mcActionGetSelectionBegin
This action is not supported by the QuickTime VR movie controller.
mcActionGetSelectionDuration
This action is not supported by the QuickTime VR movie controller.
mcActionPrerollAndPlay
Your action filter function receives this action when the movie controller has received a request to preroll a movie and then immediately play it using view animation.
The parameter data must contain a floating-point value that indicates the view rate. Values greater than 0.0 correspond to forward rates; values less than 0.0 play the movie backward. A value of 0.0 indicates that the view animation is stopped.
mcActionGetCursorSettingEnabled
Your action filter function receives this action when the movie controller has received a request to get the current state of cursor tracking and shape changing.
The parameter data must contain a pointer to a Boolean value; the movie controller sets this value to true if the controller has been instructed to track the cursor and change its shape as appropriate. Otherwise, the controller sets the value to false .
mcActionSetCursorSettingEnabled
Your action filter function receives this action when the movie controller has received a request to enable or disable the automatic cursor tracking and shape changing provided by the QuickTime VR movie controller.
The parameter data must contain a Boolean value; a value of true indicates that the cursor tracking and shape changing are to be enabled.
mcActionSetColorTable
This action is not supported by the QuickTime VR movie controller.
mcActionLinkToURL
The parameter is a Handle to URL; it can be sent to the controller or intercepted when generated by a 'url ' hotspot.
mcActionCustomButtonClick
The parameter is a pointer to EventRecord , where in local coordinates. Generated (intercept only) when the custom button is clicked; see mcFlagsUseCustomButton (link) .
mcActionForceTimeTableUpdate
This action is not supported by the QuickTime VR movie controller.
mcActionSetControllerTimeLimits
Not for use by application.
mcActionExecuteAllActionsForQTEvent
This action is not supported by the QuickTime VR movie controller.
mcActionExecuteOneActionForQTEvent
This action is not supported by the QuickTime VR movie controller.
mcActionAdjustCursor
The parameter is a pointer to EventRecord ( WindowPtr is in message parameter). Not supported in QuickTime VR 2.1, but will be supported in future versions.
mcActionUseTrackForTimeTable
Not for use by application.
mcActionClickAndHoldPoint
The parameter is a point (local coordinates). The action returns true if the point has click and hold action (for example, a QuickTime VR object movie autorotate spot).
mcActionShowMessageString
The parameter is a StringPtr . Not supported by the QuickTime VR movie controller at this time, but will likely be used in future versions to allow the application to set the string shown in the control bar.

© 1998 Apple Computer, Inc.

| Previous | Chapter Contents | Chapter Top | Next |